package com.backstage.common.annotation.transaction;

import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.sql.SQLException;

/**
<b>版本编号：version1.0</b>
<b>功能：常见事务配置（支持当前事务，如果当前没有事务，就新建一个事务）</b>
<b>作者：阮雪峰</b>
<b>日期：2017年2月23日</b>
<b>更新者：DELL</b>
<b>更新时间：2017年2月23日 下午4:55:35</b>
<b>文件名称：Commit</b>
<b>包名称：com.jryun.mhexpress.common.annotation</b>
<b>项目名称：mhexpress-jryun-service</b>
<b></b>
 */
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Transactional(propagation= Propagation.REQUIRED,isolation= Isolation.READ_COMMITTED,rollbackFor={Exception.class, RuntimeException.class,SQLException.class})
public @interface Commit {

}